Java is an object-oriented programming language developed based on C++ by Sun Microsystems (USA), which is characteristic in that it allows a created program to be executed without depending on specific operating systems (OS) or specific types of personal computers (PC). Although a source code of a program does not depend on specific OSs or specific types of PCs, it requires an interpreter called Java Virtual Machine (VM).
VM is a software provided with a function for executing an intermediate code called a byte code. VM is characteristic in that byte codes as an instruction set of VM are relatively compact. A Java chip in which the above-described VM is implemented with a hardware may be used so that internal devices such as a portable terminal can be developed which can execute a program of byte codes with small code sizes.
While Java has been receiving great attention, various attempts have been made to enhance the processing speed of Java. For example, use of a Java accelerator device that executes part of interpreter processing with a hardware is one technique to enhance the processing speed of Java. Such Java accelerator device is provided with a stack memory unit as an internal hardware that allows high-speed access, thereby enhancing stack access speed.
However, since a memory that allows high-speed access is expensive, a capacity of the above-described stack memory unit tends to be small, and thus is likely to result in stack overflow. Some methods use a predetermined area of a main storage medium (main memory) used in general VM as a stack area when such overflow occurs. However, this renders the use of the accelerator device meaningless.